package com.regentsoft.cloudback.enterpriseAdmin.dao;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * mybatis基础Dao
 */
public interface BaseDao<T, PK extends Serializable> {

    /**
     * 按主键查找对象
     */
    T getById(PK pk);

    /**
     * 获取总记录数
     */
    int getTotalCount(Map<String, Object> params);

    /**
     * 按实体对象属性动态查找列表
     */
    List<T> findList(T obj);

    /**
     * 分页
     */
    List<T> findPageList(Map<String, Object> params);

    /**
     * 保存
     */
    int save(T obj);

    /**
     * 更新
     */
    int update(T obj);

    /**
     * 删除
     */
    int deleteById(PK pk);

}

